const { v2: webdav } = require('webdav-server');
const config = require('./config');

// 创建 WebDAV 服务器实例
const server = new webdav.WebDAVServer({
    // 使用本地文件系统
    rootFileSystem: new webdav.PhysicalFileSystem(config.root),
    port:config.port
});

// 配置用户管理
const userManager = new webdav.SimpleUserManager();
const user = userManager.addUser(config.username, config.password, false); // 设置用户名和密码

// 配置密码验证器
const privilegeManager = new webdav.SimplePathPrivilegeManager();
server.userManager = userManager;
server.httpAuthentication = new webdav.HTTPBasicAuthentication(userManager, 'Default realm');
server.privilegeManager = privilegeManager;

// 设置用户权限
privilegeManager.setRights(user, '/', ['all']); // 用户有全部权限，路径为根目录

// 启动服务器
server.start((s) => {
    console.log(`WebDAV server is running on ${s.address().port}`);
});
